<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>v-pre指令</title>
    <script type="text/javascript" src="../js/vue.js"></script>
</head>
<body>
<!--
    已经学过的指令：
      v-bind：单向绑定解析表达式，简写为:xxx
      v-model：双向数据绑定
      v-for：遍历数组、对象、字符串
      v-on：绑定事件监听，可简写@xxx
      v-if：条件渲染（动态控制节点是否存在）
      v-else：条件渲染（动态控制节点是否存在）
      v-show：条件渲染（动态控制节点是否展示）
      v-text：
        作用：向其所在的节点中渲染文本内容
        与插值语法的区别，v-text会替换掉节点中的内容，{{xx}}则不会
      v-html:
        作用：向指定节点中渲染包含html结构的内容。
        与插值语法的区别：
            1、v-html会替换掉节点中的所有内容，{{xx}}则不会
            2、v-html可以识别html结构
        注意：
            1、在网站上动态渲染任意HTML是非常危险的，容易导致XSS攻击。
            2、一定要在可信的内容上使用v-html，永远不要在用户提交的内容上。
      v-cloak指令（没有值）
        1、本质是一个特殊属性，Vue实例创建完毕并接管容器后，会删掉v-cloak属性
        2、使用css配合v-cloak可以解决网速慢时，页面展示出{{xxx}}的问题
      v-once指令（没有值）
        1、v-once所在节点在初次动态渲染后，就视为静态内容了
        2、以后数据的改变不会引起v-once所在结构的更新，可以用于优化性能
      v-pre指令（没有值）
        1、跳过其所在节点的编译过程
        2、可利用它跳过：没有使用指令语法、没有使用插值语法的节点，会加快编译
-->
<div id="root">
    <h2 v-pre>Vue很简单！</h2>
    <h2 v-pre>当前n值为：{{n}}</h2>
    <button @click="n++">点我n+1</button>
</div>
<script type="text/javascript">
    Vue.config.productionTip = false

    const vm = new Vue({
        el: "#root",
        data: {
            n: 1,
        }
    })
</script>

</body>
</html>